home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / drdobbs / 1991 / 05 / d_flat / classdef.c < prev    next >
Text File  |  1991-03-15  |  4KB  |  140 lines

  1. /* ---------------- classdef.c ---------------- */
  2.  
  3. #include <stdio.h>
  4. #include "dflat.h"
  5.  
  6. /*
  7.  * Add class definitions to this table.
  8.  * Add the class symbol to the CLASS list in dflat.h
  9.  */
  10.  
  11. CLASSDEFS classdefs[] = {
  12.     {   /* ---------- NORMAL Window Class ----------- */
  13.         NORMAL,
  14.         -1,
  15.         &cfg.clr.NormalFG, &cfg.clr.NormalBG,
  16.         NULL, NULL,
  17.         &cfg.clr.NormalFG, &cfg.clr.NormalBG,
  18.         NormalProc
  19.     },
  20.     {   /* ---------- APPLICATION Window Class ----------- */
  21.         APPLICATION,
  22.         NORMAL,
  23.         &cfg.clr.ApplicationFG, &cfg.clr.ApplicationBG,
  24.         NULL, NULL,
  25.         &cfg.clr.ApplicationFG, &cfg.clr.ApplicationBG,
  26.         ApplicationProc,
  27.         VISIBLE | SAVESELF | CONTROLBOX | TITLEBAR | HASBORDER
  28.     },
  29.     {   /* ------------ TEXTBOX Window Class -------------- */
  30.         TEXTBOX,
  31.         NORMAL,
  32.         &cfg.clr.TextBoxFG, &cfg.clr.TextBoxBG,
  33.         &cfg.clr.TextBoxSelFG, &cfg.clr.TextBoxSelBG,
  34.         &cfg.clr.TextBoxFrameFG, &cfg.clr.TextBoxFrameBG,
  35.         TextBoxProc
  36.     },
  37.     {   /* ------------- LISTBOX Window class ------------- */
  38.         LISTBOX,
  39.         TEXTBOX,
  40.         &cfg.clr.ListBoxFG, &cfg.clr.ListBoxBG,
  41.         &cfg.clr.ListBoxSelFG, &cfg.clr.ListBoxSelBG,
  42.         &cfg.clr.ListBoxFrameFG, &cfg.clr.ListBoxFrameBG,
  43.         ListBoxProc
  44.     },
  45.     {   /* ------------- EDITBOX Window Class -------------- */
  46.         EDITBOX,
  47.         TEXTBOX,
  48.         &cfg.clr.EditBoxFG, &cfg.clr.EditBoxBG,
  49.         &cfg.clr.EditBoxSelFG, &cfg.clr.EditBoxSelBG,
  50.         &cfg.clr.EditBoxFrameFG, &cfg.clr.EditBoxFrameBG,
  51.         EditBoxProc
  52.     },
  53.     {   /* ------------- MENUBAR Window Class --------------- */
  54.         MENUBAR,
  55.         NORMAL,
  56.         &cfg.clr.MenuBarFG, &cfg.clr.MenuBarBG,
  57.         &cfg.clr.MenuBarSelFG, &cfg.clr.MenuBarSelBG,
  58.         NULL, NULL,
  59.         MenuBarProc,
  60.         VISIBLE
  61.     },
  62.     {   /* ------------- POPDOWNMENU Window Class ----------- */
  63.         POPDOWNMENU,
  64.         LISTBOX,
  65.         &cfg.clr.PopDownFG, &cfg.clr.PopDownBG,
  66.         &cfg.clr.PopDownSelFG, &cfg.clr.PopDownSelBG,
  67.         NULL, NULL,
  68.         PopDownProc,
  69.         SAVESELF | NOCLIP | HASBORDER
  70.     },
  71.     {   /* ----------- BUTTON Window Class --------------- */
  72.         BUTTON,
  73.         TEXTBOX,
  74.         &cfg.clr.ButtonFG, &cfg.clr.ButtonBG,
  75.         &cfg.clr.ButtonSelFG, &cfg.clr.ButtonSelBG,
  76.         NULL, NULL,
  77.         ButtonProc,
  78.         SHADOW
  79.     },
  80.     {   /* ------------- DIALOG Window Class -------------- */
  81.         DIALOG,
  82.         NORMAL,
  83.         &cfg.clr.DialogFG, &cfg.clr.DialogBG,
  84.         NULL, NULL,
  85.         &cfg.clr.DialogFG, &cfg.clr.DialogBG,
  86.         DialogProc,
  87.         SHADOW | MOVEABLE | SAVESELF | CONTROLBOX | HASBORDER
  88.     },
  89.     {   /* ------------ ERRORBOX Window Class ----------- */
  90.         ERRORBOX,
  91.         DIALOG,
  92.         &cfg.clr.ErrorBoxFG, &cfg.clr.ErrorBoxBG,
  93.         NULL, NULL,
  94.         &cfg.clr.ErrorBoxFG, &cfg.clr.ErrorBoxBG,
  95.         DialogProc,
  96.         SHADOW | HASBORDER
  97.     },
  98.     {   /* --------- MESSAGEBOX Window Class ------------- */
  99.         MESSAGEBOX,
  100.         DIALOG,
  101.         &cfg.clr.MessageBoxFG, &cfg.clr.MessageBoxBG,
  102.         NULL, NULL,
  103.         &cfg.clr.MessageBoxFG, &cfg.clr.MessageBoxBG,
  104.         DialogProc,
  105.         SHADOW | HASBORDER
  106.     },
  107.     {   /* ----------- HELPBOX Window Class --------------- */
  108.         HELPBOX,
  109.         DIALOG,
  110.         &cfg.clr.HelpBoxFG, &cfg.clr.HelpBoxBG,
  111.         NULL, NULL,
  112.         &cfg.clr.HelpBoxFG, &cfg.clr.HelpBoxBG,
  113.         DialogProc,
  114.         SHADOW | HASBORDER
  115.     },
  116.     {   /* -------------- DUMMY Window Class ---------------- */
  117.         DUMMY,
  118.         -1,
  119.         &cfg.clr.DummyFG, &cfg.clr.DummyBG,
  120.         NULL, NULL,
  121.         &cfg.clr.DummyFG, &cfg.clr.DummyBG,
  122.         NULL,
  123.         HASBORDER
  124.     }
  125. };
  126.  
  127. /* ------- return the offset of a class into the class
  128.                  definition table ------ */
  129. int FindClass(CLASS class)
  130. {
  131.     int i;
  132.     for (i = 0; i < sizeof(classdefs) / sizeof(CLASSDEFS); i++)
  133.         if (class == classdefs[i].class)
  134.             return i;
  135.     return 0;
  136. }
  137.  
  138.  
  139.  
  140.